In order to more efficiently broadcast or record audio signals, the amount of information required to represent the audio signals may be reduced. In the case of digital audio signals, the amount of digital information needed to accurately reproduce the original pulse code modulation (PCM) samples may be reduced by applying a digital compression algorithm, resulting in a digitally compressed representation of the original signal. The goal of the digital compression algorithm is to produce a digital representation of an audio signal which, when decoded and reproduced, sounds the same as the original signal, while using a minimum of digital information for the compressed or encoded representation.
Recent advances in audio coding technology have led to high compression ratios while keeping audible degradation in the compressed signal to a minimum. These coders are intended for a variety of applications, including 5.1 channel film soundtracks, HDTV, laser discs and multimedia. Description of one applicable method can be found in the Advanced Television Systems Committee (ATSC) Standard document entitled “Digital Audio Compression (AC-3) Standard”, Document A/52, 20 Dec. 1995.
In the basic approach, at the encoder the time domain audio signal is first converted to the frequency domain using a bank of filters. The frequency domain coefficients, thus generated, are converted to fixed point representation. In fixed point syntax, each coefficient is represented as a mantissa and an exponent. The bulk of the compressed bitstream transmitted to the decoder comprises these exponents and mantissas.
The exponents are usually transmitted in their original form. However, each mantissa must be truncated to a fixed or variable number of decimal places. The number of bits to be used for coding each mantissa is obtained from a bit allocation algorithm which may be based on the masking property of the human auditory system. Lower numbers of bits result in higher compression ratios because less space is required to transmit the coefficients. However, this may cause high quantization errors, leading to audible distortion. A good distribution of available bits to each mantissa forms the core of the advanced audio coders.
Further compression is possible by employing differential coding for the exponents. In this case, the exponents for a channel are differentially coded across the frequency range. That is, instead of sending actual values, for many exponents only the difference between adjacent exponent values is sent. Furthermore, instead of coding every exponent a single exponent value is sent for every two exponents. In the extreme case, when exponent sets of several consecutive blocks in a frame are almost identical the exponent set for the first block is only sent, and the remaining blocks in the frame reuse the previously sent values.
These different methods amount to different exponent coding schemes presently in use, and are commonly referred to as exponent strategies.
The differential exponent coding schemes presently in use limit the difference between consecutive exponents to a fixed value which is predefined by the standard. This does not take into consideration the signal characteristic. As a result, sometimes for a fast varying audio spectrum the limit is too low, which results in information loss due to truncation. At other times the limiting value may be too large for a slow varying spectrum, thereby resulting in bit wastage.
A good set of exponent strategies is therefore desirable, together with an efficient processing engine which determines which exponent strategy is most suited for a particular set of exponents. The processing engine should not be too computationally intensive to allow encoders to operate in real time and run on systems having relatively small computational resources.